← Index
NYTProf Performance Profile   
For starman worker -M FindBin --max-requests 50 --workers 2 --user=kohadev-koha --group kohadev-koha --pid /var/run/koha/kohadev/plack.pid --daemonize --access-log /var/log/koha/kohadev/plack.log --error-log /var/log/koha/kohadev/plack-error.log -E deployment --socket /var/run/koha/kohadev/plack.sock /etc/koha/sites/kohadev/plack.psgi
  Run on Fri Jan 8 14:31:06 2016
Reported on Fri Jan 8 14:31:39 2016

Filename(eval 1109)[/usr/share/perl5/Sub/Quote.pm:5]
StatementsExecuted 2594 statements in 3.65ms
Eval Invoked At/usr/share/perl5/Sub/Quote.pm line 5
Sibling evals1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
90222.86ms4.67msDBIx::Class::Storage::BlockRunner::::newDBIx::Class::Storage::BlockRunner::new
11122µs41µsSub::Quote::::BEGIN@4.2965 Sub::Quote::BEGIN@4.2965
1119µs9µsMethod::Generate::Constructor::::BEGIN@10.2966 Method::Generate::Constructor::BEGIN@10.2966
1116µs6µsDBIx::Class::Storage::BlockRunner::::BEGIN@74DBIx::Class::Storage::BlockRunner::BEGIN@74
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1{
222µs my $_UNQUOTED = ${$_[1]->{"\$_UNQUOTED"}};
31400ns my $_QUOTED = ${$_[1]->{"\$_QUOTED"}};
42130µs260µs
# spent 41µs (22+19) within Sub::Quote::BEGIN@4.2965 which was called: # once (22µs+19µs) by Sub::Quote::_clean_eval at line 4
no warnings 'closure';
# spent 41µs making 1 call to Sub::Quote::BEGIN@4.2965 # spent 19µs making 1 call to warnings::unimport
5
# spent 4.67ms (2.86+1.81) within DBIx::Class::Storage::BlockRunner::new which was called 90 times, avg 52µs/call: # 89 times (2.83ms+1.81ms) by DBIx::Class::Storage::DBI::dbh_do at line 855 of DBIx/Class/Storage/DBI.pm, avg 52µs/call # once (32µs+1µs) by DBIx::Class::Storage::DBI::dbh_do at line 56 of Sub/Defer.pm
sub DBIx::Class::Storage::BlockRunner::new {
6 $_QUOTED if 0;
78910µs $_UNQUOTED if 0;
8# BEGIN quote_sub PRELUDE
9package Method::Generate::Constructor;
10
# spent 9µs within Method::Generate::Constructor::BEGIN@10.2966 which was called: # once (9µs+0s) by Sub::Quote::_clean_eval at line 15
BEGIN {
1111µs $^H = "2018";
121500ns ${^WARNING_BITS} = "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377";
1316µs %^H = (
14 );
151309µs19µs}
# spent 9µs making 1 call to Method::Generate::Constructor::BEGIN@10.2966
16# END quote_sub PRELUDE
178938µs my $class = shift;
188923µs $class = ref($class) if ref($class);
198943µs if ($class ne "DBIx::Class::Storage::BlockRunner") {
20 if ($Moo::MAKERS{$class}) {
21 if ($Moo::MAKERS{$class}{constructor}) {
22 return $class->DBIx::Class::Storage::BlockRunner::SUPER::new(@_);
23 }
24 Moo->_constructor_maker_for($class);
25 return $class->new(@_);
26 } elsif ($INC{"Moose.pm"} and my $meta = Class::MOP::get_metaclass_by_name($class)) {
27 return $meta->new_object(
28 $class->can("BUILDARGS") ? $class->BUILDARGS(@_)
29 : $class->Moo::Object::BUILDARGS(@_)
30 );
31 }
32 }
338924µs my $args;
3489148µs if ( scalar @_ == 1 ) {
35 unless ( defined $_[0] && ref $_[0] eq 'HASH' ) {
36 die "Single parameters to new() must be a HASH ref"
37 ." data => ". $_[0] ."\n";
38 }
39 $args = { %{ $_[0] } };
40 }
41 elsif ( @_ % 2 ) {
42 die "The new() method for $class expects a hash reference or a"
43 . " key/value list. You passed an odd number of arguments\n";
44 }
45 else {
4689172µs $args = {@_};
47 }
4889242µs if (my @missing = grep !exists $args->{$_}, qw(retry_handler storage wrap_txn)) {
49 die "Missing required arguments: ".join(', ', sort @missing);
50 }
5189237µs my $new = bless({}, $class);;
5289131µs $new->{"max_attempts"} = (
53 exists $args->{"max_attempts"}
54 ? $args->{"max_attempts"}
55 : "20"
56 );
578949µs if (exists $args->{"retry_debug"}) {
58 $new->{"retry_debug"} = $args->{"retry_debug"};
59 }
608971µs if (exists $args->{"retry_handler"}) {
618936µs do {
6289246µs local $Method::Generate::Accessor::CurrentAttribute = {
63 init_arg => "retry_handler",
64 name => "retry_handler",
65 step => "isa check",
66 };
678924µs my $_error;
68 {
6917881µs my $_old_error = $@;
7089104µs if (!eval {
718934µs $@ = $_old_error;
72178128µs do { local @_ = ($args->{"retry_handler"}); # BEGIN quote_sub PRELUDE
73package DBIx::Class::Storage::BlockRunner;
74
# spent 6µs within DBIx::Class::Storage::BlockRunner::BEGIN@74 which was called: # once (6µs+0s) by Sub::Quote::_clean_eval at line 79
BEGIN {
7511µs $^H = "133090";
761400ns ${^WARNING_BITS} = "UUUUUUUUUUUUUUUUU";
7716µs %^H = (
78 );
791177µs16µs}
# spent 6µs making 1 call to DBIx::Class::Storage::BlockRunner::BEGIN@74
80# END quote_sub PRELUDE
81
8289483µs89105µs (Scalar::Util::reftype($_[0])||'') eq 'CODE'
# spent 105µs making 89 calls to Scalar::Util::reftype, avg 1µs/call
83 or DBIx::Class::Exception->throw('retry_handler must be a CODE reference')
84 };
858955µs 1;
86 }) {
87 $_error = $@;
88 if (!ref $_error) {
89 $_error = "isa check for \"retry_handler\" failed: ".$_error;
90 }
91 }
928949µs $@ = $_old_error;
93 }
948972µs die $_error if $_error;
95}
96;
978955µs $new->{"retry_handler"} = $args->{"retry_handler"};
98 }
998990µs if (exists $args->{"storage"}) {
100 $new->{"storage"} = $args->{"storage"};
101 }
1028975µs if (exists $args->{"wrap_txn"}) {
103 $new->{"wrap_txn"} = $args->{"wrap_txn"};
104 }
10589293µs return $new;
106 }
10711µs $$_UNQUOTED = \&DBIx::Class::Storage::BlockRunner::new
108}
10914µs1;
110
111;